iT邦幫忙

2025 iThome 鐵人賽

DAY 18
0
AI & Data

AI 實戰 30 天:Azure Foundry 與 Vertex AI 全面探索系列 第 18

Day18:Prompt Engineering 與最佳化技巧

  • 分享至 

  • xImage
  •  

在 Day17 中,我們學會了如何將模型 API 整合到應用程式。接下來的挑戰,是如何讓模型「說出我們想要的答案」。這就需要用到 Prompt Engineering(提示工程)

Prompt Engineering 並不只是「下指令」,而是 設計輸入,讓 AI 輸出結果更符合需求。


🔹 為什麼需要 Prompt Engineering?

  • 模型是泛用的:沒有好的指令,結果常常模糊或偏離。
  • 避免反覆試錯:好的 Prompt 能減少調整次數,提升開發效率。
  • 結構化輸出:確保 AI 回應能被程式解析,例如 JSON 格式。
  • 最佳化效能與成本:精簡 Prompt,能降低 API token 消耗。

🔹 常見的 Prompt Engineering 技巧

  1. 角色設置 (Role Prompting)

    • 指定 AI 扮演某種角色,讓回應更聚焦。
    • 範例:
      你是一位資深資料科學家,請用簡單的方式解釋 PCA 的概念。
      
  2. 逐步推理 (Chain-of-Thought Prompting)

    • 要求模型逐步思考,而不是直接給答案。
    • 範例:
      請逐步解釋如何計算 24 * 17,最後再給出答案。
      
  3. 少樣本學習 (Few-Shot Prompting)

    • 給模型幾個範例,引導它模仿輸出格式。
    • 範例:
      將句子翻譯成英文:
      輸入:我愛程式設計  
      輸出:I love programming  
      
      輸入:今天天氣很好  
      輸出:
      
  4. 結構化輸出 (Structured Output)

    • 要求 AI 使用 JSON 或特定格式,方便系統解析。
    • 範例:
      請將以下商品資訊整理成 JSON:
      商品:iPhone 15  
      價格:NT$38,900  
      
      輸出格式:
      {
        "name": "",
        "price": ""
      }
      

🔹 Azure 與 Vertex AI 在 Prompt 工程的支援

項目 Azure AI Foundry Vertex AI
Prompt 測試介面 Playground,可即時測試 Prompt 效果 Generative AI Studio,提供範例與測試介面
Prompt 模板化 支援 Prompt Flow,能將 Prompt 設計流程化 支援 Prompt Template,並可在 Notebook 中重複使用
最佳化工具 Token 計算、版本管理 評估指標(BLEU、ROUGE)、A/B 測試
應用整合 可直接部署至 API Endpoint 可透過 Vertex AI API 呼叫,或結合 LangChain

🔹 範例:呼叫 API 並套用 Prompt

Python (Azure OpenAI 風格 API)

import openai

response = openai.ChatCompletion.create(
    engine="gpt-35-turbo",
    messages=[
        {"role": "system", "content": "你是一位英文翻譯專家。"},
        {"role": "user", "content": "請將以下文字翻譯成英文:我喜歡資料科學"}
    ]
)

print(response['choices'][0]['message']['content'])

Python (Vertex AI PaLM API)

from vertexai.language_models import ChatModel

chat_model = ChatModel.from_pretrained("chat-bison")
chat = chat_model.start_chat()

response = chat.send_message("你是一位英文翻譯專家,請將以下文字翻譯成英文:我喜歡資料科學")
print(response.text)

小結

在 Day18,我們學會了 Prompt Engineering 的關鍵技巧,讓 AI 不只是輸出「某種答案」,而是「符合需求的答案」。

角色設置:讓 AI 代入特定專業背景

逐步推理:提升邏輯性與正確率

少樣本學習:快速定義輸出風格

結構化輸出:方便程式解析


上一篇
Day17:AI 模型 API 整合進應用程式
下一篇
Day19:AI 與資料安全治理
系列文
AI 實戰 30 天:Azure Foundry 與 Vertex AI 全面探索20
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言